home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / public / fax / src / util / pause.c < prev    next >
C/C++ Source or Header  |  1994-08-01  |  657b  |  33 lines

  1. const int MSEC_PER_SEC = 1000;
  2.  
  3. #include <sys/time.h>
  4. #include <limits.h>
  5.  
  6. void
  7. pause(int ms)
  8. {
  9.     struct timeval tv;
  10.     tv.tv_sec = ms / MSEC_PER_SEC;
  11.     tv.tv_usec = (ms % MSEC_PER_SEC) * 1000;
  12.     (void) select(0, 0, 0, 0, &tv);
  13. #ifdef notdef
  14.     sginap((ms * CLK_TCK) / 1000);
  15. #endif
  16. }
  17.  
  18. main(int argc, char* argv[])
  19. {
  20.     struct timeval before, after;
  21.  
  22.     gettimeofday(&before, 0);
  23.     pause(atoi(argv[1]));
  24.     gettimeofday(&after, 0);
  25.     after.tv_sec -= before.tv_sec;
  26.     after.tv_usec -= before.tv_usec;
  27.     if (after.tv_usec < 0) {
  28.     after.tv_sec--;
  29.     after.tv_usec += 1000000;
  30.     }
  31.     printf("%u.%03u\n", after.tv_sec, after.tv_usec/1000);
  32. }
  33.